package com.example.mall.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.example.mall.util.CodeGenerateUtils;

import java.io.Serializable;

/**
 * <p>
 * 商品审核表
 * </p>
 *
 * @author whale
 * @since 2025-05-06
 */
@TableName("tb_product_reviews")
public class ProductReviews extends Model<ProductReviews> {

    private static final long serialVersionUID = 1L;

    /**
     * 审核唯一标识
     */
    @TableId("review_id")
    private Long reviewId;
    /**
     * 商品ID
     */
    @TableField("product_id")
    private Long productId;
    /**
     * 审核状态（0：待审核，1：通过，2：不通过）
     */
    @TableField("review_status")
    private Integer reviewStatus;
    /**
     * 审核人ID
     */
    @TableField("reviewer_id")
    private Long reviewerId;
    /**
     * 审核意见
     */
    @TableField("review_comment")
    private String reviewComment;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 更新时间
     */
    @TableField("update_date")
    private Date updateDate;

    public ProductReviews() {
        this.reviewId = Long.valueOf(CodeGenerateUtils.generateUniqueId());
    }

    public Long getReviewId() {
        return reviewId;
    }

    public void setReviewId(Long reviewId) {
        this.reviewId = reviewId;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Integer getReviewStatus() {
        return reviewStatus;
    }

    public void setReviewStatus(Integer reviewStatus) {
        this.reviewStatus = reviewStatus;
    }

    public Long getReviewerId() {
        return reviewerId;
    }

    public void setReviewerId(Long reviewerId) {
        this.reviewerId = reviewerId;
    }

    public String getReviewComment() {
        return reviewComment;
    }

    public void setReviewComment(String reviewComment) {
        this.reviewComment = reviewComment;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }


    @Override
    public String toString() {
        return "ProductReviews{" +
        ", reviewId=" + reviewId +
        ", productId=" + productId +
        ", reviewStatus=" + reviewStatus +
        ", reviewerId=" + reviewerId +
        ", reviewComment=" + reviewComment +
        ", createDate=" + createDate +
        ", updateDate=" + updateDate +
        "}";
    }
}
